p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
↳ QTRS
↳ DependencyPairsProof
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
*12(s1(x), y) -> +12(*2(x, y), y)
+12(x, s1(y)) -> +12(x, y)
*12(s1(x), y) -> *12(x, y)
FACT1(s1(x)) -> P1(s1(x))
FACT1(s1(x)) -> *12(s1(x), fact1(p1(s1(x))))
FACT1(s1(x)) -> FACT1(p1(s1(x)))
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
*12(s1(x), y) -> +12(*2(x, y), y)
+12(x, s1(y)) -> +12(x, y)
*12(s1(x), y) -> *12(x, y)
FACT1(s1(x)) -> P1(s1(x))
FACT1(s1(x)) -> *12(s1(x), fact1(p1(s1(x))))
FACT1(s1(x)) -> FACT1(p1(s1(x)))
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
+12(x, s1(y)) -> +12(x, y)
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+12(x, s1(y)) -> +12(x, y)
POL( +12(x1, x2) ) = 2x1 + 2x2 + 2
POL( s1(x1) ) = 3x1 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
*12(s1(x), y) -> *12(x, y)
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
*12(s1(x), y) -> *12(x, y)
POL( *12(x1, x2) ) = 2x1 + 3x2 + 2
POL( s1(x1) ) = x1 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
FACT1(s1(x)) -> FACT1(p1(s1(x)))
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
FACT1(s1(x)) -> FACT1(p1(s1(x)))
POL( s1(x1) ) = 2x1 + 3
POL( FACT1(x1) ) = max{0, 2x1 - 3}
POL( p1(x1) ) = max{0, x1 - 3}
p1(s1(x)) -> x
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))